#
# NKUPS test
#
# Copyright (c) 2022 Suzhou Nodka Automation Technology Co.,Ltd.
#
# Author: Tom Dong
# 
# ---------------------------------------------------------------------------

LIBVERSION  = 1.0.0
CC          = gcc
CXX         = g++
LN          = ln

INCLUDE     = -I./
CFLAGS	    = -MD -g3 -Wall -pedantic
CFLAGS      += $(INCLUDE)
ASFLAGS     = -MD 
LDFLAGS     = -pthread -L$(PWD) -Wl,-rpath,$(PWD)
LDLIBS      = -lNKUPSSDK -lpthread -lrt
LD_LIBARARY_PATH +=$(PWD)

TGT         = NKUPSTest
CSRC        = main.c 
OBJS        = $(CSRC:.c=.o) 
DEPS        = $(OBJS:.o=.d) 
BIN         = $(TGT)

.PHONY: clean all

all: clean install $(BIN)

install:
	rm -f $(PWD)/libNKUPSSDK.so
	rm -f $(PWD)/libNKUPSSDK.so.2
	$(LN) -s $(PWD)/libNKUPSSDK.so.$(LIBVERSION) $(PWD)/libNKUPSSDK.so
	$(LN) -s $(PWD)/libNKUPSSDK.so.$(LIBVERSION) $(PWD)/libNKUPSSDK.so.2

$(BIN): $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@

clean:
	rm -f $(DEPS)
	rm -f $(OBJS) 
	rm -f $(BIN) 


# ---------------------------------------------------------------------------
# rules for code generation
# ---------------------------------------------------------------------------
%.o:    %.c
	$(CC) $(CFLAGS) -o $@ -c $<

# ---------------------------------------------------------------------------
#  # compiler generated dependencies
# ---------------------------------------------------------------------------
-include $(DEPS)

